<?php
/**
 * @property Producto $Producto
 */
class ProductosController extends AppController
{
    public $components = array('Image');

    function add()
    {

//$this->Image->set_paths(""WWW_ROOT . 'files/""', WWW_ROOT . 'files/thumb/');

        if ($this->request->is('post')) { //si es un post de un formulario
            $this->processPlato();
            // debug( $this->Producto);
            if ($this->Producto->save($this->Producto)) {
                $this->Session->setFlash(__('El plato ha sido guardado'));
                $this->redirect($this->referer());

            } else {
                $this->Session->setFlash(__('El plato no ha podido ser guardado. Inténtelo más tarde'));

            }

        }
        $this->loadModel("CartaCategoria");
        $relaciones =$this->CartaCategoria->find("all");
        //debug($relaciones);
        $this->set("platos", $relaciones);
    }


    function processPlato()
    {
        $this->Producto->create();
        $this->Producto->nombre = ($this->request->data['Producto']['nombre']);
        $this->Producto->desc = $this->request->data['Producto']['desc'];


        if (!empty($this->request->data['Producto']['file']['name'])) {

            $this->Image->set_paths(WWW_ROOT . 'files/', WWW_ROOT . 'files/thumb/');
            $url = $this->Image->upload_image('Producto.file');
            //debug(FULL_BASE_URL); //http://panel.p.ht
            $urlThumb = $this->Image->thumb($url);

            $separtor = '/files/';
            if (($x_pos = strpos($url, $separtor)) !== FALSE)
                $url = substr($url, $x_pos + strlen($separtor));

            $url = FULL_BASE_URL . '/files/' . $url;
            //debug($url);

            $separtor = '/thumb/';
            if (($x_pos = strpos($urlThumb, $separtor)) !== FALSE)
                $urlThumb = substr($urlThumb, $x_pos + strlen($separtor));
            $urlThumb = FULL_BASE_URL . '/files/thumb/' . $urlThumb;


            $this->Producto->img = $url;
            $this->Producto->urlThumb = $urlThumb;


        } else {
            $this->Producto->img = FULL_BASE_URL . '/files/' . "sinImagen.jpg";
            $this->Producto->urlThumb = FULL_BASE_URL . '/files/thumb/' . "sinImagen.jpg";


        }


    }


    /*function edit($id = null) {
       if (!$id) {
            throw new NotFoundException(__('Petición inválida. Id del plato vacío'));
        }

        $producto = $this->Producto->findById($id);
        if (!$producto) {
            throw new NotFoundException(__('Petición inválida. El plato no existe en base de datos'));
        }

        if ($this->request->is('post') || $this->request->is('put')) {
            //$this->Image->set_paths(""WWW_ROOT . 'files/""', WWW_ROOT . 'files/thumb/');
           $this->Producto->id = $id;

                $this->processPlato();
                debug($this->Producto->id);
                if ($this->Producto->save( $this->Producto)) {

                $this->Session->setFlash('El plato con id' . $id . ' ha sido actualizado');
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash('Imposible actualizar el plato. Inténtelo de nuevo más tarde');
            }
        }

        if (!$this->request->data) {
            $this->request->data = $producto;
        }
    }*/

    function edit($id = null)
    {

        $this->Producto->id = $id;
        if ($this->request->is('get')) {
            $this->request->data = $this->Producto->read();
            //$this->data['Producto']['file']['name'] = $this->Producto->img;
        } else {


            if (!empty($this->request->data['Producto']['file']['name'])) {

                $this->Image->set_paths(WWW_ROOT . 'files/', WWW_ROOT . 'files/thumb/');
                $url = $this->Image->upload_image('Producto.file');
                //debug(FULL_BASE_URL); //http://panel.p.ht
                $urlThumb = $this->Image->thumb($url);

                $separtor = '/files/';
                if (($x_pos = strpos($url, $separtor)) !== FALSE)
                    $url = substr($url, $x_pos + strlen($separtor));

                $url = FULL_BASE_URL . '/files/' . $url;
                //debug($url);

                $separtor = '/thumb/';
                if (($x_pos = strpos($urlThumb, $separtor)) !== FALSE)
                    $urlThumb = substr($urlThumb, $x_pos + strlen($separtor));
                $urlThumb = FULL_BASE_URL . '/files/thumb/' . $urlThumb;


                $this->request->data['Producto']['img'] = $url;
                $this->request->data['Producto']['urlThumb'] = $urlThumb;


            } else {
                //$this->request->data['Producto']['img'] =   FULL_BASE_URL . '/files/' ."sinImagen.jpg";
                //$this->request->data['Producto']['urlThumb']=   FULL_BASE_URL . '/files/thumb/' ."sinImagen.jpg";
                //  debug($this->Producto->img);


            }


            if ($this->Producto->save($this->request->data)) {
                $this->Session->setFlash('El plato con ha sido actualizado.','infoMessage',array(),'platos');

            }

        }
        $this->loadModel("CartaCategoria");
        $relaciones =$this->CartaCategoria->find("all");
        //debug($relaciones);
        $this->set("platos", $relaciones);
    }


    function delete($id)
    {
        if (!$this->request->is('post')) {
            throw new MethodNotAllowedException();
        }
        if ($this->Producto->delete($id)) {

            $this->Session->setFlash('El plato con ha sido borrado.','infoMessage',array(),'platos');
            $this->redirect(array('action' => 'index'));
        }
    }

    function index()
    {
        //debug("entra");

        $this->set('productos', $this->Producto->find('all'));
    }

    function view($id)
    {
        $this->Producto->id = $id;
        $this->set('producto', $this->Producto->read());

    }
}

?>